package com.fruit.mapper.rights;


import com.fruit.pojo.goods.RightConfig;
import com.fruit.pojo.rights.UserGoodsRights;
import com.fruit.pojo.rights.UserGoodsRightsHarvest;
import com.fruit.pojo.rights.UserGoodsRightsPost;

import java.util.List;
import java.util.Map;

public interface UserRightsMapper {

    /**
     * 获取用户拥有的权益
     *
     * @param uid    用户ID
     * @param size   分页大小
     * @param offset 分页起始位置（pageNo * size）
     * @return 用户在指定日期拥有的所有全日
     */
    List<UserGoodsRights> fruitTreeList(Map<String, Object> pam);
    
    /**
     * 查询分类下面的所有的商品
     * @param pam
     * @return
     */
    List<UserGoodsRights> getGoodsRightList(Map<String, Object> pam);

    /**
     * 根据ID查找权益
     *
     * @param id 权益ID
     * @return 权益
     */
    UserGoodsRights find(int id);

    /**
     * 查找用户树苗每年的收益
     *
     * @param id 权益ID
     * @return 收益信息
     */
    List<UserGoodsRightsHarvest> findUserGoodsRightsHarvest(int id);

    /**
     * 保存用户权益信息
     *
     * @param goodsRights 用户权益信息
     * @return 保存成功数量
     */
    int insertGoodsRight(UserGoodsRights goodsRights);
    
    /**
     * 保存权益周期
     * @param goodsRightHarvest
     * @return
     */
    long insertGoodsRightHarvest(List goodsRightHarvest);
    
    /**
     * 查询某用户此分类的总数
     * @param goodsRightHarvest
     * @return
     */
    int getRightsSum(Map<String, Object> pam);
    /**
     * 查询用户权益总数
     * @param userId
     * @return
     */
    Integer getRightNum(int userId);
    
    /**
     * 权益详情 树的对话
     *
     * @param id 权益ID
     */
    List<UserGoodsRightsPost> findUserGoodsRightsPost(String type);
    
    /**
	 * 查询所有的根分类
	 * @return
	 */
	List<RightConfig> getClassId();
	
	/**
	 * 查询每个大类的统计百分比 
	 * @return
	 */
	List<RightConfig> getClassPercentage(int userId);

}
